@echo off
chcp 65001 >nul
title 右键菜单模式切换工具（Win10 ↔ Win11）

:: 检测当前模式
reg query "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}" >nul 2>&1
if %errorlevel%==0 (
    set mode=Win10 经典右键菜单
    set color=33
) else (
    set mode=Win11 默认右键菜单
    set color=36
)

:menu
cls
echo ==============================================
echo        【Windows 右键菜单模式切换】
echo ==============================================
echo.
:: 直接用 ANSI 序列输出颜色
if "%color%"=="33" (
    echo 当前模式：[33mWin10 经典右键菜单[0m
) else (
    echo 当前模式：[36mWin11 默认右键菜单[0m
)
echo.
echo 1. 切换为 Windows 10 经典右键菜单
echo 2. 恢复为 Windows 11 默认右键菜单
echo 0. 退出
echo.
choice /c 120 /n /m "请选择要进行的操作（1/2/0）："

if %errorlevel%==3 exit /b
if %errorlevel%==2 goto restore
if %errorlevel%==1 goto classic
goto menu

:classic
echo 正在切换为 Windows 10 经典右键菜单...
reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve >nul 2>&1
set mode=Win10 经典右键菜单
set color=33
goto restart_explorer

:restore
echo 正在恢复为 Windows 11 默认右键菜单...
reg delete "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}" /f >nul 2>&1
set mode=Win11 默认右键菜单
set color=36
goto restart_explorer

:restart_explorer
echo.
echo 正在重启资源管理器以应用更改...
taskkill /f /im explorer.exe >nul 2>&1
start explorer.exe
echo.
if "%color%"=="33" (
    echo 当前模式已切换为：[33mWin10 经典右键菜单[0m
) else (
    echo 当前模式已切换为：[36mWin11 默认右键菜单[0m
)
echo.
pause
exit /b
